package ar.uba.fi.algo3.algoTank.TesteosAlgoTank;

import ar.uba.fi.algo3.algoTank.Objetos.BloqueConcreto;
import ar.uba.fi.algo3.algoTank.Objetos.Posicion;
import ar.uba.fi.algo3.algoTank.Objetos.Proyectil;
import ar.uba.fi.algo3.algoTank.Objetos.ProyectilAmetralladora;
import ar.uba.fi.algo3.algoTank.Objetos.Territorio;
import junit.framework.TestCase;

public class TestBloqueConcreto extends TestCase {

	private BloqueConcreto bloqueConcreto;
	private Proyectil proyectil;
	private Territorio territorio;
	
	protected void setUp() throws Exception {
		
	territorio = new Territorio();	
	bloqueConcreto = new BloqueConcreto(new Posicion (2,2),territorio);	
	proyectil = new ProyectilAmetralladora();
	}

	public void testResistencia(){
		
		assertEquals(bloqueConcreto.getResistencia(), 1);
	}
	
	public void testEstadoInicial(){
		
		assertTrue(bloqueConcreto.estaVivo());
	}
	
	public void testChoque(){
		
		bloqueConcreto.interactuarConProyectil(proyectil);	
		assertFalse(bloqueConcreto.estaVivo());
		assertFalse(proyectil.estaVivo());
		
	}
	
	public void testDaniarse(){
		
		bloqueConcreto.daniarse();
		assertFalse(bloqueConcreto.estaVivo());
	}
	
	public void testColision(){
				
		BloqueConcreto otroBloque = new BloqueConcreto(new Posicion(2,2),territorio);	
		assertTrue(bloqueConcreto.colisiona(otroBloque));
		
		
	}
	
}
